package com.pureut.system.mapper;

import com.pureut.system.domain.dto.MaterialAwmateriaDto;
import com.pureut.system.domain.MaterialAwmateria;
import com.pureut.system.domain.dto.ProjectRecursionDto;
import com.pureut.system.domain.vo.MaterialAwmateriaVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description
 * @Param
 * @Date
 * @Author hl
 **/
public interface MaterialAwmateriaMapper {

    /**
     * 查询原料信息
     */
    List<MaterialAwmateriaDto> selectAwmateriaList(MaterialAwmateriaVo materialAwmateria);

    /**
     * 新增原料信息
     */
    int insertAwmateria(MaterialAwmateriaVo materialAwmateria);

    /**
     * 删除原料信息
     */
    int deleteAwmateriaById(String[] materialIdS);

    /**
     * 修改原料信息
     */
    int updateMaterialAwmateriaEdit(MaterialAwmateriaVo materialAwmateria);

    /**
     * 冻结/解冻
     */
    int updateAwmateriaEditFreeze(MaterialAwmateria materialAwmateria);

    /**
     * 查询单个
     */
    MaterialAwmateriaDto selectAwmateriaById(long materialId);

    /**
     * 树结构
     */
    List<ProjectRecursionDto> selectChildrenListThe();

    /**
     * 根据物料编码查询详情
     *
     * @param materialCode
     * @return
     */
    MaterialAwmateriaDto selectAllByAlarmMaterialCode(String materialCode);

    /**
     * 根据id获取详情
     */
    String getAwmateriaById(@Param("materialIdList") List<String> materialIdList);

    /**
     * 根据物料编码获取详情（委外订单详情列表调用 fegin）
     */
    MaterialAwmateriaDto getAwmateriaViewByMaterialCode(String materialCode);


    /**
     * 树结构
     */
    List<ProjectRecursionDto> selectChildrenListThe2();
}